/*  ======== tskVideoOutput.h ========
 *
 *  Please refer to readme.txt in this file's directory for a 
 *  detailed description.
 *
 */

#ifndef TSKVIDEOOUTPUT_
#define TSKVIDEOOUTPUT_


// RF5 module includes
#include <chan.h>
#include <icell.h>

#ifdef __cplusplus
extern "C" {
#endif


// Enumeration of channel cells (so we use names intead of numbers for index)
enum { CELLYUVTOBT835= 0, 
       OUTPUTVIDEONUMCELLS 
};            
#define OUTPUTVIDEONUMCHANNELS 1

/* Definition of the structure describing the state of the thread. */
typedef struct ThrOutput {
    CHAN_Obj        chanList[ OUTPUTVIDEONUMCHANNELS ];              
    ICELL_Obj       cellList[ OUTPUTVIDEONUMCHANNELS * OUTPUTVIDEONUMCELLS ];       
    void 		  *bufInput[ OUTPUTVIDEONUMCHANNELS ];
    void 		  *bufOutput[ OUTPUTVIDEONUMCHANNELS ];
    void            *bufIntermediate;
    ScomBufChannels  scomMsgRx;
    ScomBufChannels  scomMsgTx;
} ThrOutput ; 

/* prototypes for public functions */
extern Void tskVideoOutputInit( Void );
extern Void tskVideoOutput( Void );
#ifdef __cplusplus
}
#endif // extern "C" 

#endif // TSKVIDEOOUTPUT_

